1. Field of the Invention
The present invention relates to a technique for processing object data to express the status of an object image by computer graphics (CG), and more particularly to an image processing method and an image processing apparatus, which are suitable for expressing the object image in the way of chaos-like motion. The xe2x80x9cobjectxe2x80x9d is hereinafter referred to as an object that is to be expressed. In this specification, the xe2x80x9cobjectxe2x80x9d includes animate beings that move irregularly and the like.
2. Description of the Related Art
In connection with how an object image, which is expressed by CG, moves, the motion is determined in accordance with a program that CG designers have decided at the producing stage. This kind of program determines the motion of object image by using the known motion capture and performing numeral calculation using physical law.
Since the object normally moves based on a given logic, the motion can be predicted to a certain degree. This makes it possible to easily determine the motion by the aforementioned program and the expressed motion of the object image becomes natural.
However, in some cases, the object image having unnatural motion is formed, depending on the design of the program in expressing an object image that performs unpredictable motion. Particularly, in the case of expressing biological motion in such a way that a plurality of objects moves to be suited to accomplishing an end as being associated with each other at high speed, it is extremely difficult to design the program for implementing such an expression. Even if such a program is produced, a large amount of data processing and processing time are required in image processing, which is performed by such a program. For this reason, it is unsuitable for expressing the above-mentioned biological motion in the video game and the like that need real time processing in a normal case.
However, in order to raise a user""s interest, the expression of the object image that performs more natural and free motion, which is not supported by the logic and which is unpredictable by the user, is required in the recent video game and the like.
In order to make it possible to obtain such an expression, the method using fluctuation variables such as random numbers is conventionally known in the field of image processing. Namely, status variable values, which indicate the status of the position of object, the shape and the like, are obtained using the fluctuation variables, whereby expressing the chaos-like behavior. Whether or not this behavior is naturally seen is determined by checking whether or not the status variable values obtained using the fluctuation variables are within a predetermined range. When the status variable values are within the predetermined range, the status variable values are used. When the status variable value is out of the predetermined range, the status variable value is not used since the unnatural behavior is performed, and status variable values are obtained again using the fluctuation variables.
As mentioned above, in the case of expressing motion in such a way that a plurality of objects moves to be suited to accomplishing an end as being associated with each other, the amount of data processing increases. For this reason, there may be used a multi-processor system that performs data processing using a plurality of processors.
In the case of using the multi-processor, the transmission and reception of the status variable values between the processors physically connected can be easily performed. However, as the need for transmitting and receiving the status variable values among all processors mutually comes about, it takes much time to perform the transmission and reception of the status variable values and this makes it impossible to perform high-speed processing.
For example, in the case of obtaining the status variable values of one object using one processor, direct transmission and reception of the status variable values between the processors directly connected can be mutually and smoothly performed to make it easy to provide the interrelationship between the objects. However, direct transmission and reception of the status variable values cannot be performed between the processors, which are not directly connected to each other. In this case, since the status variable values must be transmitted and received via the other processor connected to the processor that will perform transmission and reception, high-speed processing cannot be carried out.
Though all processors are connected to one another in a crossbar manner to make it possible to transmit and receive the status variable value using the entire multi-processor at high speed, this case needs the massive amounts of hardware and is not the realistic way.
An object of the present invention is to provide an image processing method and an apparatus for allowing motion of an object image to be expressed more naturally.
Another object of the present invention is to provide an image processing method and an apparatus that can express motion in such a way that a plurality of objects moves to be suited to accomplishing an end as being associated with each other at high speed.
Still another object of the present invention is to provide a computer program for implementing the aforementioned image processing apparatus in a computer system.
According to the present invention, there is provided an image processing method, in an apparatus for generating object data for expressing the status of an object image, the image processing method comprising the steps of generating a predetermined number of candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point; determining a first candidate status variable value having the highest consistency with a predetermined condition value as the status variable value; and generating the object data at the corresponding point based on the determined status variable value.
The status variable value is determined based on the optimal first candidate status variable value every point to generate object data based on the determined status variable value. For this reason, the motion of object image is defined as the condition value to make it possible to easily express the object image with free motion.
The predetermined number of candidate status variable values is generated in time sequence using a fluctuation variable changeable within a given range.
There is provided another image processing method, which is executed by an apparatus, having a controller that performs two-way communication between a plurality of processors and each processor, for generating object data to express the status of an object image allocated to each of the processors using each of the processors, the method comprising the steps of: generating candidate status variable values as a candidates of a status variable value that fixes a status of the object image at a certain point to transmit the candidate status variable value to the controller individually by at least one of the plurality of processors; broadcasting reference numeral values including the candidate status variable values to all processors at the same time by the controller that has received the candidate status variable value; and quantifying a relative relationship between the reference numeral values received from the controller and the corresponding candidate status variable value to generate the object data at the corresponding point based on the candidate status variable value when the quantifying result is within a predetermined range unique to the corresponding processor by the processor that has transmitted the candidate status variable value.
The xe2x80x9creference numeral valuexe2x80x9d is that one or a plurality of candidate status variable values sent from the processor is transferred to all processors from the controller so that the transferred candidate status variable values are used as a reference when each processor determines the relative relationship. When only one candidate status variable value is sent from a certain processor, the candidate status variable value normally becomes the same value. When the number of candidate status variable values is two or more, the average value can be used as a reference numeral value.
The use of reference numeral value allows the candidate status variable values generated by each processor to be easily sent to the other all processors. Namely, when the processing result is sent to the processor other than the processors direct connected, a massive amount of time is needed to send the processing result to all the plurality of processors since the processing result must be sent via the directly connected processors. However, according to the present invention, the processing results of all processors are fetched by the controller to allow the results, serving as reference numeral values, to be transmitted to the respective processors at the same time. This makes it possible to send the processing results to all processors for a short time as compared with the conventional case.
Moreover, it is possible to easily receive the candidate status variable values generated by the other processors. Hence, the candidate status variable value generated by each processor is compared with each of the candidate status variable values generated by the other processors to make it possible to easily confirm the validity of the candidate status variable value generated by each processor. Accordingly, for example, motion in which the plurality of objects moves to be suited to accomplishing an end as being associated with the plurality of objects images can be expressed at high speed.
There is provided another image processing method, which is executed by an apparatus, having a controller that performs two-way communication between a plurality of processors and each processor, for generating object data to express the status of an object image allocated to each of the processors using each of the processors, the method comprising the steps of: generating a predetermined number of candidate status variable values as a candidate of a status variable value that fixes a status of the object image to transmit a first candidate status variable value having the highest consistency with a predetermined condition value to the controller individually by at least one of the plurality of processors; broadcasting reference numeral values including the first candidate status variable value to all processors at the same time by the controller that has received the first candidate status variable value; and quantifying a relative relationship between the reference numeral values received from the controller and the first candidate status variable value to generate the object data based on the first candidate status variable value when the quantifying result is within a predetermined range unique to the corresponding processor by the processor that has transmitted the first candidate status variable value.
The status variable value is determined based on the optimal candidate status variable value (first candidate status variable value) so as to generate object data based on the determined status variable value. For this reason, the motion of object image is defined as the condition value to make it possible to easily express the object image with free motion.
Moreover, according to this method, the first candidate status variable value can be transmitted to all processors from the controller for a short time, motion in which the plurality of objects moves to be suited to accomplishing an end as being associated with the plurality of objects images can be expressed at high speed.
At least of the plurality of processors generates a fluctuation variable changeable within a given range to produce the candidate status variable value based on the fluctuation variable, whereby generating the object data to express the object image in a chaos manner.
The reference numeral values may include the above-mentioned fluctuation variables in addition to the candidate status variable values. Namely, the processor that has generated the fluctuation variable transmits the fluctuation variable to the controller individually, the controller that has received the fluctuation variable obtains an average value of all fluctuation variables received so as to broadcast the average value to all processors that have transmitted the fluctuation variable, and the processor that has received the average value generates the candidate status variable value based on the average value and the generated fluctuation variable.
This makes it possible to reflect the influence of fluctuation variable value generated by the other processor on the fluctuation variable value for generating the candidate status variable value. Accordingly, for example, even if the individual objects look as if they moved independently, an image that moves like one group as a whole.
In these apparatuses for generating object data, the plurality of processors is divided into one or more groups, one of the candidate status variable values determined by the respective processors in one group is used as a common status variable value employed in all processors belonging to the corresponding group. It is possible to express the object image with free motion easily similar to the case in which the plurality of candidate status variable values are generated by one processor and the status variable value having the highest consistency with the condition value is selected from among them and the resultant is used as the first candidate status variable value. However, this makes it possible to perform high-speed processing as compared with the processing performed by one processor since the candidate status variable values are generated by the processors belonging to the group.
According to the present invention, there is provided an image processing apparatus, which generates object data to express the status of an object image, the apparatus comprising: a generator for generating a predetermined number of candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point in time sequence using a fluctuation variable changeable within a given range; and a generator for determining a first candidate status variable value having the highest consistency with a predetermined condition value as the status variable value among the predetermined number of generated candidate status variable values in time sequence every point so as to generate the object data at the corresponding point based on the status variable value determined at each point, whereby the object image is expressed in a chaos manner.
According to the present invention, there is provided an image processing apparatus, which has a controller that performs two-way communication between a plurality of processors and each processor, for generating object data to express the status of an object image allocated to each of the processors using each of the processors, at least one of the plurality of processors comprising: a generator for generating candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point; a transmitter and receiver for transmitting the generated candidate status variable values to the controller individually and for receiving reference numeral values, including the candidate status variable values transmitted from the processor, from the controller; and generator for quantifying a relative relationship between the received reference numeral values received and the generated candidate status variable value so as to generate the object data at the corresponding point based on the candidate status variable value when the quantifying result is within a predetermined range unique to the corresponding processor.
According to the present invention, there is provided an image processing apparatus, which has a controller that performs two-way communication between a plurality of processors and each processor, for generating object data to express the status of an object image allocated to each of the processors using each of the processors, at least one of the plurality of processors comprising: a specifier for generating a predetermined number of candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point so as to specify a first candidate status variable value having the highest consistency with a predetermined condition value; a transmitter and receiver for transmitting the specified first candidate status variable value to the controller individually and for receiving reference numeral values, including the first candidate status variable value transmitted from the processor, from the controller; and generator for quantifying a relative relationship between the received reference numeral values received and the specified candidate status variable value so as to generate the object data at the corresponding point based on the first candidate status variable value when the quantifying result is within a predetermined range unique to the corresponding processor.
According to the present invention, there is provided a computer program for operating a computer system as an image processing apparatus for generating object data to express the status of an object image, the image processing apparatus comprising: a generator for generating a predetermined number of candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point in time sequence using a fluctuation variable changeable within a given range; and a generator for determining a first candidate status variable value having the highest consistency with a predetermined condition value as the status variable value among the predetermined number of generated candidate status variable values in time sequence every point so as to generate the object data at the corresponding point based on the status variable value determined at each point, whereby the object image is expressed in a chaos manner.
According to the present invention, there is provided a computer program for operating a computer system as an image processing apparatus, the image processing having a controller that performs two-way communication between a plurality of processors and each processor, for generating object data to express the status of an object image allocated to each of the processors using each of the processors, at least one of the plurality of processors comprising a generator for generating candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point; a transmitter and receiver for transmitting the generated candidate status variable values to the controller individually and for receiving reference numeral values, including the candidate status variable values transmitted from the processor, from the controller; and a generator for quantifying a relative relationship between the received reference numeral values received and the generated candidate status variable value so as to generate the object data at the corresponding point based on the candidate status variable value when the quantifying result is within a predetermined range unique to the corresponding processor.
According to the present invention, there is provided a computer program for operating a computer system as an image processing apparatus, the image processing having a controller that performs two-way communication between a plurality of processors and each processor, for generating object data to express the status of an object image allocated to each of the processors using each of the processors, at least one of the plurality of processors comprising: a specifier for generating a predetermined number of candidate status variable values as a candidate of a status variable value that fixes a status of the object image at a certain point so as to specify a first candidate status variable value having the highest consistency with a predetermined condition value; a transmitter and receiver for transmitting the specified first candidate status variable value to the controller individually and for receiving reference numeral values, including the first candidate status variable value transmitted from the processor, from the controller; and
a generator for quantifying a relative relationship between the received reference numeral values received and the specified candidate status variable value so as to generate the object data at the corresponding point based on the first candidate status variable value when the quantifying result is within a predetermined range unique to the corresponding processor.